Brought to you by EarthWeb
IT Library Logo

Click Here!
Click Here!


Search the site:
 
EXPERT SEARCH -----
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games

EarthWeb Direct EarthWeb Direct Fatbrain Auctions Support Source Answers

EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info

Previous Table of Contents Next


HISTORY

No discussion of TCP/IP can be complete without a brief discussion of its history, because how the protocol suite was developed had a lot to do with its later success and widespread use.

TCP/IP evolved from work done in the network research community, in particular the late 1960s and early 1970s work on packet switching that led to the development of the ARPANET. The ARPANET (named after the Advanced Research Projects Agency of the US Department of Defense) was a project designed to demonstrate the feasibility of packet switching technology to build reliable data communications systems. The system the Defense Department was interested in had to survive a nuclear attach from (presumably) the Soviet Union. Ironically, there are sites within the former Soviet Union that use TCP/IP today.

Before the ARPANET, data communications systems were built around circuit switching. To send a message from host A to host B a path (or circuit) between A and B had to be established and all information sent along that path until the circuit was disconnected. This is the way the telephone system is designed. From a reliability standpoint this means that all intermediate nodes along that path have to be in service. If one node fails (say from a nuclear attack), then the circuit is broken and communications cannot continue until an alternate circuit is reestablished.

In packet switching the data sent from A to B is divided into discrete chunks, called datagrams or packets. Each datagram is self-contained, that is, it contains all the addressing information it needs to get to its destination. In a packet switched network, each node forwards the datagram to the next node that is closer to the final destination. Because the addressing information of the destination is contained in the datagram itself, an intermediate switching node can examine the address to determine the next hop the datagram must take on its way to its final destination. With this method a packet can be rerouted around a failed switching node.

The ARPANET was a packet switched network, but it was a single network and it used protocols not intended for internetworking. In the mid-1970s, network researchers realized that various high-speed LAN technologies (e.g., Ethernet) were nearing widespread deployment. With LANs entering the equation, a true internet of interconnected networks became more and more feasible. TCP/IP, a true internetworking protocol suite, is the product of these changes in the networking environment.

Widespread deployment of TCP/IP occurred within the ARPANET community in the early 1980s. By 1983 the name Internet came into use as the official name of the community of interconnected networks using TCP/IP. The ARPANET was a core network in the early Internet, but it was by no means synonymous with the Internet. The ARPANET, due to its slow link speeds (56K bps), was retired in 1990. The Internet started to grow at a very rapid rate (the number of hosts and users more than doubling every year) starting in the mid 1980s and that pace of growth continues today.

THE INTERNET PROTOCOL

The Internet Protocol (IP) is the heart of the TCP/IP suite. IP provides the essential services that any internetworking protocol must provide, and all the protocols above and below it depend on its services.

IP Addressing

IP defines a virtual address space. An IP address is a 32-bit (4 byte) unsigned integer number. The convention for writing one of these addresses is to use dotted-decimal notation, that is, each byte of the address is written as a decimal number (separated by periods), for example, 192.135.128.129.

Each network interface is assigned a unique IP address. For engineering reasons and to simplify routing, an IP address is divided into two parts: network number and host number. The division between network number and host number is not fixed, but is bit-encoded into the address. The IP address space is divided into five classes, A through E. Each class is encoded by using a specific bit pattern in the high-order bits of the first byte of the address.

A class A address uses the single-order byte as the network number, a class B address uses 2 bytes, and a class C address uses 3 bytes. Class D is used for multicast addresses and class E is reserved as of this writing. Classes D and E use all 4 bytes as a network address. In general, classes A thorough C are the most widely used classes.

Regardless of the class, every host interface on the same network must have the same network number and a unique host number. Usually the address assignments are handled as system configuration parameters. The reason for this restriction is it simplifies routing. With all hosts on the same network guaranteed to have the same network number, routing can be handled by examining only the network number. Only when a packet is sent to its final destination does the host number come into play.

An extension of the original IP address format allows a further partitioning of the host number into a subnet number and a host number. Any IP network can be subnetted. Subnetting allows a single IP network number to be used on several underlying, but fully connected networks. A subnet mask is used to cover the network and subnet number. The subnet mask is locally defined, that is, a subnet can cover any of the bits of the original host number provided both the subnet number and the new host number fields are at least 2 bits wide. Where a subnet mask is defined, the routing algorithm treats the network number and the subnet number as the network number used for routing purposes.


Previous Table of Contents Next

footer nav
Use of this site is subject certain Terms & Conditions.
Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details.